<?php 
class CategoryController extends CommonController{
	// 定义$model链接模型
	private $model;
	public function __init(){
		// 与父级冲突
		parent::__init();
		// 赋值$model
		$this->model = K('Category');
	}

	// 首页
	public function index(){
		// 查找所有数据
		$data = $this->model->order('sort asc')->all();
		// 树状排序
		$data = Data::tree($data,'cname');
		// 分配给前端
		$this->assign('data',$data);
		// 显示模板
		$this->display();
	}

	// 添加分类
	public function add(){
		// 如果提交表单
		if (IS_POST) {
			// 如果模型函数有错误就反出错误信息
			if (!$this->model->add_data()) {
				$this->error($this->model->error);
			}
			// 提示成功
			$this->success('添加成功',U('Category/index'));
		}
		// 显示模板
		$this->display();
	}

	// 添加子分类
	public function add_son(){
		// 获得父级数据分配给前端
		$pid = Q('get.pid',0,'intval');
		$father = $this->model->where("cid=$pid")->find();
		$this->assign('father',$father);

		// 获得类型数据
		$type_data = K('Type')->all();
		// 分配给前端
		$this->assign('type_data',$type_data);

		// 如果提交表单
		if (IS_POST) {
			// 如果模型函数有错误就反出错误信息
			if (!$this->model->add_son()) {
				$this->error($this->model->error);
			}
			// 提示成功
			$this->success('添加子分类成功',U('Category/index'));
		}
		// 显示模版
		$this->display();
	}

	// 修改分类
	public function edit(){
		// 获得cid查询数据
		$cid = Q('get.cid',0,'intval');
		$data = $this->model->where("cid={$cid}")->find();
		// 分配给前端
		$this->assign('data',$data);

		// 获得类型数据
		$type_data = K('Type')->all();
		// 分配给前端
		$this->assign('type_data',$type_data);

		// 获得除去自己和自己子级分类数据
		$top_cate = $this->model->get_choose($cid);
		// 分配给前端
		$this->assign('top_cate',$top_cate);

		// 如果提交表单
		if (IS_POST) {
			// 如果模型函数有错误就反出错误信息
			if (!$this->model->edit_data()) {
				$this->error($this->model->error);
			}
			// 提示成功
			$this->success('修改成功',U('Category/index'));
		}
		$this->display();
	}

	// 删除分类
	public function del(){
		// 获得分类id
		$cid = Q('get.cid',0,'intval');
		// 如果有分类的pid为要删除的分类的cid，证明当前分类下有子分类
		if ($this->model->where("pid={$cid}")->find()) {
			$this->error('请先删除子级分类');
		}
		// 删除相应数据，返回成功信息
		$this->model->where("cid={$cid}")->delete();
		$this->success('删除分类成功');

	}










}









 ?>